上面展示了SYCL的一个例程。 使用DPC++编译器编译，并运行结果如下:\par 

\textbf{Hello, world! (and some additional text left to experience by running it)} \par
\hspace*{\fill} \\ %插入空行

第4章结束时，我们就能完全理解这个例子了。在此之前，我们可以看到包含了<CL/sycl.hpp>(第1行)，这是定义所有SYCL组件所需要的。所有的SYCL组件都存在名为SYCL的命名空间中:\par

\begin{itemize}
	\item 第3行让我们避免反复写sycl::。
	\item 第11行为指向特定设备的工作建立了一个队列(第2章)。
	\item 第13行创建了设备共享的数据(第3章)。
	\item 第16行将相应的工作加入到设备的工作队列中(第4章)。
	\item 第17行是唯一在设备上运行的代码。所有其他代码都在主机(CPU)上运行。
\end{itemize}

第17行是我们想要在设备上运行的内核代码。该内核代码的功能是去掉一个字符。这里使用了\textit{parallel\_for()}，内核对secret字符串中的每个字符上逐个进行处理，以便将其解码为result字符串。需要完成的工作没有顺序要求，并且当\textit{parallel\_for}将工作入队后，实际上是相对于主程序异步运行的。关键的等待(第18行)可以让我们确定，内核已经执行完成，因为在这个特定的示例中，我们使用一个特性(统一共享内存，第6章)。如果不等待，result字符串上可能会有还未解密的字符。还有很多细节需要讨论，我们会在之后的章节继续。\par
